package com.ym.b2b.order.xc;

import java.util.List;

import com.ym.b2b.commons.exception.BaseException;
import com.ym.b2b.order.sqlbean.EmSOrderConfirmItem;
import com.ym.b2b.order.vo.OrderInfoVO;
import com.ym.b2b.order.xc.sqlbean.DataPackageERP;
import com.ym.b2b.order.xc.sqlbean.XcSaleDetail;
import com.ym.b2b.order.xc.sqlbean.XcStock;
import com.zc.commons.base.Page;
import com.zc.commons.base.Result;

public interface XcService {

    /**
     * 处理订单
     * 
     * @Title: dealOrder
     * @Param @param vo
     * @Param @return
     * @Param @throws BaseException
     * @Return Result
     * @Throws
     */
    public Result dealOrder(OrderInfoVO vo) throws BaseException;

    /**
     * @Title: 取消订单
     * @Param @param vo
     * @Param @return
     * @Param @throws BaseException
     * @Return Result
     * @Throws
     */
    public Result cancelOrder(OrderInfoVO vo) throws BaseException;

    /**
     * 更新订单信息
     * @param vo
     * @param item
     * @throws BaseException
     */
    public void updateOrder(OrderInfoVO vo, List<EmSOrderConfirmItem> list) throws BaseException ;
    
    /**
    * @Title: getDataPackageERPList 
    * @Author cym
    * @Description: 根据订单的erpCode查询获得该订单产品的 质检单和首营资料
    * @param erpCode
     */
    public List<DataPackageERP> getDataPackageERPList(String erpCode)throws BaseException ;
    
    /**
    * @Title: searchPageSalesDetail 
    * @Author cym
    * @Description: 前台供应商查销售流向
    * @param emSSaleDetail
    * @param page
     */
    public List<XcSaleDetail> searchXcPageSalesDetail(XcSaleDetail saleDetail, Page<XcSaleDetail> page, int type)throws BaseException ;
    
    /**
     * @Description: 前台供应商查产品库存
     * @Title: searchXcPageStock 
     * @Author cym
     * @param xcStock
     * @param page
     */
    public List<XcStock> searchXcPageStock(XcStock xcStock, Page<XcStock> page)throws BaseException ;

}
